home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / grafik / 3d & render tools / irit / man / man6 / sinterp.6 < prev    next >
Encoding:
Text File  |  1996-07-16  |  2.1 KB  |  53 lines

  1. .TH SINTERP
  2.  6 "IRIT Version 6.0" 
  3. .SH NAME
  4. SINTERP
  5.  
  6.  
  7.  
  8.  SurfaceType SINTERP( ListType PtList, NumericType UOrder, NumericType VOrder,
  9.                       NumericType USize, NumericType VSize,
  10.                       ConstantType Param)
  11.  
  12. Computes a Bspline polynomial surface that interpolates or approximates
  13. the rectangular grid of points in PtList. The Bspline surface will
  14. have orders UOrder and VOrder and mesh of size USize by
  15. VSize control points. The knots will be spaced according to
  16. Param which can be one of PARAM_UNIFORM, PARAM_CHORD or
  17. PARAM_CENTRIP. The former prescribed a uniform knot sequence and the
  18. latters specified a knot spacing accoridng to the chord length and a square
  19. root of the chord length. Currently only PARAM_UNIFORM is supported.
  20. PtList is a list of list of points where all lists should carry the
  21. same amount of points in them, defining a rectangular grid. All points in
  22. PtList must be of type (E1-E5, P1-P5) control point, or regular
  23. PointType. If USize and VSize are equal to the number of points
  24. in the grid PtList the resulting curve will interpolate the
  25. data set. Otherwise, if USize or VSize is less than the number
  26. of points in PtList the point data set will be least square
  27. approximated. In no time can USize or VSize be larger that the
  28. number of points in PtList or lower than UOrder and VOrder,
  29. respectively. If USize or VSize are zero, the grid size
  30. is used, forcing an interpolation of the data set.
  31.  
  32. All interior knots will be distinct preserving maximal continuity.
  33. The resulting Bspline surface will have open end conditions.
  34.  
  35. Example:
  36.  
  37.     pl = nil();
  38.     pll = nil();
  39.     for ( x = -5, 1, 5,
  40.           pl = nil():
  41.           for ( y = -5, 1, 5,
  42.                 snoc( point( x, y, sin( x * Pi / 2 ) * cos( y * Pi / 2 ) ),
  43.                       pl )
  44.           ):
  45.           snoc( pl, pll ) );
  46.  
  47.     s1 = sinterp( pll, 3, 3, 8, 8, PARAM_UNIFORM );
  48.     s2 = sinterp( pll, 3, 3, 11, 11, PARAM_UNIFORM );
  49.  
  50. Samples an explicit surface sin(x) * cos(y) at a grid of 11 by 11 points,
  51. least square fit with a grid of size of 8 by 8 surface s1, and
  52. interpolate surface s2 using this data set.
  53.